As semiconductor process continually advances, more and more system functions are being integrated into single chip for more resource-and-energy efficient implementation and more reliable-and-better performance. In this trend of SoC integration however there is still one last functional block, timing reference, which is hard to be integrated into processing chip. Since electronic circuit is born naturally for handling voltage level and has no capability of producing sense-of-time by itself, it uses the method of level-switching-over-a-threshold to indirectly generate the sense-of-time. As a result, it is very difficult for electronic circuit to produce a highly accurate and reliable timing source by itself. FIG. 1 is a diagram that shows four types of timing sources with different frequency characteristics. An ideal timing source that produces an accurate and stable frequency has a frequency characteristic of 110 where f0 is the desired frequency and δf is the frequency deviation from f0. The characteristic of a stable but inaccurate timing source is shown in plot 120 where its output frequency does not vary with time but is at a value which is different than the desired value f0. Plot 130 presents the frequency characteristic of an accurate but unstable timing source where the frequency varies with time but its average value over time is at f0. The characteristic of an inaccurate and unstable timing source is depicted in plot 140 where the frequency varies with time and its average value is not at f0. The frequency error is usually introduced by manufacture imperfection, and/or device aging. The frequency variation is mainly due to the timing source's temperature and supply voltage dependence.
Traditionally, quartz crystal rock has been chosen to serve as the timing source for almost every electronic system thanks to its high precision mechanical vibration when a voltage is applied to it. For several decades, crystal based CMOS oscillator is the timing-reference-of-choice for electronic system. Despite its excellent timing quality, however, there are several concerns with crystal based oscillator. The lead time to develop a crystal of requested frequency is long, usually ten weeks at minimum; it is difficult to make quartz crystal of high frequency (over 100 MHz); the physical size of the crystal oscillator is large that is undesirable in many systems, especially for portable applications; the frequency flexibility is not good which could be unsatisfactory in certain cases. All these factors have motivated the search for crystal replacement. An all-silicon, self-contained, self-referenced timing solution has undisputable commercial advantage.
In recent years, MEMS (Micro-Electro-Mechanical Systems) resonator has been investigated as silicon timing source [1-2], owing to its decent Q factor and silicon-based nature. FIG. 2 shows the block diagram of a MEMS resonator based oscillator. A MEMS resonator 210 generates a mechanical vibration at a fixed frequency. A sustaining circuit 220 converts the mechanical vibration into electrical pulse. It also help sustain the MEMS resonator's vibration. The electrical pulse bearing the MEMS resonator's vibration frequency (usually at MHz range) is used as the reference frequency to a fractional-N Phase Locked Loop (PLL) 230. The output of the PLL is usually at frequency of tens of MHz. After being fed through an output driver 260, it is used as the timing reference signal for other electronic systems. A calibration circuit 240 is used to correct the frequency inaccuracy introduced in manufacture process. This is accomplished by comparing the output with an external signal of known frequency and applying the result to trim the MMES resonator. To compensate the frequency variation caused by temperature (or supply voltage) change, a temperature (or voltage) compensation circuit 250 is incorporated in the system. A temperature (or voltage) sensor reports the temperature (or voltage) change. A control signal, generated by checking the sensor output against a frequency-vs.-temperature (or voltage) look-up table, is applied to the PLL's fractional divider to counteract the frequency variation.
To improve the compatibility with standard CMOS process, CMOS self-referenced oscillator has also been researched as silicon timing source. A ring-based RC oscillator (RCO) is reported in [3] as a start-up clock for microcontroller. A more serious effort is to use LC-VCO based CMOS (LCO) oscillator, such as reported in [4-5]. FIG. 3 is a block diagram showing the working principle of a LCO timing source. A LCO 320 oscillates at high frequency, usually at GHz range. Its output is fed to a divider and driver circuit 340. The divided down signal is used as the timing reference signal of a frequency fout, usually at tens or hundreds MHz. A temperature (or voltage) compensation circuit 310 which consists of a temperature (or voltage) sensor and a compensation circuit is used to compensate the temperature-induced (or voltage-induced) LCO frequency variation. A calibration circuit 330 is incorporated to correct the frequency error introduced in manufacture process.
Although both MEMS-based oscillator and CMOS self-referenced oscillators have achieved some commercial success, compared to crystal based oscillator, they suffer from the two problems of frequency error and frequency instability more severely. Unlike crystal oscillator whose frequency can be made accurately (within about tens of ppm of the target), crystal-less oscillators have difficulty in oscillating at the exact frequency designed. Most of times, post-silicon trimming is required. This trimming process is also termed calibration. Moreover, compared to highly stable crystal, all crystal-less oscillators' oscillation frequency varies with process, supply voltage and temperature in a significant way that compensation must be employed. FIG. 4 shows the general scheme of this calibration and compensation approach. A crystal-less oscillator 410 operates within an environment 420. The environmental variables include temperature and power supply voltage. A frequency calibration circuit 440 is used to correct the frequency error introduced in the manufacture process. A frequency compensation circuit 450 is used to compensate the frequency variation induced by temperature and supply voltage changes. Both the outputs from the trimming circuit and the compensation circuit are fed to a frequency tuning circuit 430. For each type of oscillator (MEMS, LCO, RCO), its tuning circuit has unique tuning mechanism to adjust its output frequency. The general function of this circuit is to take the outputs from the trimming and the compensation circuit and applying the corresponding mechanism to make the necessary frequency adjustment. In one way or another, the frequency trimming and process-voltage-temperature compensation are all related to the frequency fine tune capability of the oscillators. For crystal-less oscillators, the trimming and temperature compensation techniques are the keys for building a good silicon timing source.
Time-Average-Frequency (TAF thereafter) is a novel concept that is introduced in 2008[6]. Its purpose is to address the on-chip clock generation problem in modern environment. This concept emerges from the modern trend of replacing traditional analog circuit blocks with digital ones. It is an effort motivated by the modern nano-scale VLSI technologies and the push for smaller, more power efficient designs and single-chip integration. Using Flying-Adder (FA thereafter) technology [7-8] as its circuit implementation, this concept has been used successfully in numerous commercial products for over a decade. The two distinguished features of Time-Average-Frequency direct period synthesis are fine frequency resolution and fast frequency switching. These two features are especially useful for realizing the frequency fine tune function used in crystal-less oscillators' calibration and compensation.
FIG. 5 shows the working principle of Time-Average-Frequency direct period synthesis. A direct period synthesizer 510 takes a base time unit Δ 520 and a frequency (more precisely period) control word 530 F=I+r as its inputs, where I is an integer and r is a fraction. It creates two types of cycles 551 TA=I·Δ and 552 TB=(I+1)·Δ. A clock pulse train 540 is then generated by stringing the pulses of type TA and TB in an interleaved fashion. The fraction r controls the possibility of TA and TB occurrence. The Time-Average-Frequency of synthesized signal CLK 550 is fTAF=1/TTAF and it can be calculated using (1). In general, there could be n types of pulses used in synthesizing the Time-Average-Frequency signal CLK. The general form is expressed in (2) where ai is the possibility-of-occurrence of type Ti.TTAF=(1−r)·TA+r·TB=(I+r)·Δ; fTAF=/TTAF  (1)TTAF=a1·T1+a2·T2+ . . . +an·Tn, τ=ai=1 for i=1 to n; fTAF=/1TTAF  (2)
The base unit Δ can be created from a multi-stages voltage controlled oscillator (VCO) 570. This VCO has multiple outputs that are equally-spaced-in-phase (all the outputs are evenly distributed in a time frame of one oscillation cycle). The time span between any two adjacent VCO outputs is the base unit Δ. The VCO could be locked to a known reference frequency fr through a PLL 560. In this case, the value of Δ will be known and can be calculated as Δ=1/(K·N·fr) where N is the PLL dividing ratio and K is the number of VCO outputs. More implementation details regarding Time-Average-Frequency direct period synthesis can be found in [7-8].
Equation (1) indicates that this period synthesizer can be viewed as a frequency generator f(r) when r is considered as the frequency control variable (integer I is a fixed number in this consideration). Equation (1) can be rearranged into (3) where the subscript TAF is dropped for brevity. Equation (4) can be derived under the condition of |r|<<I.
                                          f            ⁡                          (              r              )                                =                                    1                              T                ⁡                                  (                  r                  )                                                      =                                          1                                                      (                                          l                      +                      r                                        )                                    ⁢                  Δ                                            =                                                f                  h                                                  l                  +                  r                                                                    ,                              where            ⁢                                                  ⁢                          f              h                                =                      1            /            Δ                                              (        3        )            
                                                        df              f                        ⁢                          (              r              )                                ≈                      -                          dr              l                                      ,                              when            ⁢                                                                      ⁢                                                                    ⁢                                        r                                              ⪡          I                                    (        4        )            
In circuit implementation, r=p/q is implemented using a register of log2(q) bits where both p and q are integers, q is a number of power of 2 and p<q. The toggling of the LSB of this register represents the smallest dr. In this disclosure, we are interested in using TAF to assist MEMS, LCO and RCO oscillators in their frequency fine-tune process. For this reason, we only study (4) when dr is small. FIG. 6 illustrates the TAF synthesizer frequency tuning capability's dependence on I and r. In the top plot 610, there is a register of 20 bits (q=1048576) used for representing the fraction r. Thus, the size of this register's LSB is 2−20. The plot shows the frequency change when r varies from −20 to 20 LSB, for several I values. The five traces correspond to I=8, 16, 32, 64 and 128, respectively. As indicated by (4) and confirmed by the traces in this plot, implementation with larger I produces finer frequency resolution. In the bottom plot 620, I is fixed at 32. The five traces correspond to different LSB sizes: 2−16, 2−19, 2−20, 2−21 and 2−24. These traces reveal the fact that the more bits are used for representing fraction, the better the frequency resolution is. From plots 610 and 620, a further observation can be made that the frequency response is almost linear when |r|<<I.
Several real measurement results from a Time-Average-Frequency direct period synthesizer will be given next to illustrate its frequency fine tuning capability. The synthesizer uses the circuit structure of FIG. 5 with N=54 and K=8. The reference frequency is fr=12.000424 MHz. As a result, Δ=1/(K·N·fr) is calculated as 192.8943225 ps. FIG. 7 shows the measurement result of the TAF synthesizer when frequency control word F=192. In this setting, I=192 and r=0. From equation (1), it is calculated that the output frequency is, TTAF=37.03570992 ns and fTAF=27.0009675 MHz. Plot 710 in the left is the phase noise measurement; plot 720 in the right is the spectrum measurement. The measured frequency 27.0009675 MHz, which agrees with the calculated, is displayed in the plot as 730.
FIG. 8 shows the measurement result of another frequency control word F=192+3/217. In this setting, I=192 and r=3/217. Therefore, by using (1), the calculated result is TTAF=37.03571434 ns and fTAF=27.0009643 MHz. Plot 810 is the phase noise measurement; plot 820 is the spectrum measurement. The measured frequency 27.0009644 MHz, which is very close to the calculated 27.0009643 MHz, is displayed in the plot as 830. This example shows that by adding a small fraction r=3/217, the output frequency is changed by −3.1 MHz from the original fTAF=27.0009675 MHz. This is a frequency adjustment of −0.12 ppm.
FIG. 9 shows the measurement result of a third frequency control word F=192+39/217. In this setting, I=192 and r=39/217. Therefore, by using (1), the calculated result is TTAF=37.03576732 and fTAF=27.0009257 MHz. Plot 910 is the phase noise measurement; plot 920 is the spectrum measurement. The measured frequency 27.0009252 MHz, which is very close to calculated 27.0009257 MHz, is displayed in the plot as 930. This example shows that by adding a fraction r=39/217, the output frequency is changed by −41.8 MHz from the original fTAF=27.0009675 MHz. This is a frequency adjustment of −1.55 ppm.
FIGS. 10, 11 and 12 are the measurement results using a different base time unit Δ. In these cases, K=8, N=200 and the reference frequency is still fr=12.000424 MHz. As a result, Δ=1/(K·N·fr), is calculated as 52.08149303 ps. FIG. 10 shows the case of frequency control word F=8. Using (1), the calculation result is TTAF=416.6519443 ps and fTAF=2.4000848 GHz. Plot 1010 in the left is the phase noise measurement; plot 1020 in the right is the spectrum measurement. The measured frequency 2.4000848 GHz, which agrees with the calculated, is displayed in the plot as 1030
FIG. 11 shows the measurement result of another frequency control word F=8+1/220. In this setting, I=8 and r=1/220. Therefore, by using (1), the calculated result is TTAF=416.6519939087 ps and fTAF=2.400084518 GHz. Plot 1110 is the phase noise measurement; plot 1120 is the spectrum measurement. The measured frequency 2.400084487, which is very close to the calculated 2.400084518 GHz, is displayed in the plot as 1030. This example shows that by adding a small fraction r=1/220, the output frequency is changed by −317 Hz from the original fTAF=2.4000848 GHz. This is a frequency adjustment of −0.12 ppm.
FIG. 12 shows the measurement result of another frequency control word F=8+13/220. In this setting, I=8 and r=13/220. Therefore, by using (1), the calculated result is TTAF=416.65258993417 ps and fTAF=2.400081085 GHz. Plot 1210 is the phase noise measurement; plot 1220 is the spectrum measurement. The measured frequency 2.400081072, which is very close to the calculated 2.400081085 GHz, is displayed in the plot as 1230. This example shows that by adding a small fraction r=13/220, the output frequency is changed by −3.73 KHz from the original fTAF=2.4000848 GHz. This is a frequency adjustment of −1.55 ppm. Table I summarizes the results from FIG. 7 to FIG. 12. It is seen that this Time-Average-Frequency direct period synthesizer is able to fine tune its output frequency to sub-ppm range and the tuning characteristic can be described by equation (4).
TABLE IFigureBase time unit ΔIrdr/I = r/If (measured)δf (measured)δf/fFIG. 7192.8943225 ps1920027.0009675 MHz00FIG. 8192.8943225 ps192 3/2170.1192 ppm27.0009644 MHz 3.1 Hz0.1148 ppmFIG. 9192.8943225 ps19239/2171.5497 ppm27.0009252 MHz42.3 Hz1.5667 ppmFIG. 1052.08149303 ps8002.40008480 GHz00FIG. 1152.08149303 ps8 1/2200.1192 ppm2.48008449 GHz 317 Hz0.1321 ppmFIG. 1252.08149303 ps813/2201.5497 ppm2.40008107 GHz3.73 KHz 1.555 ppm
From (3), it is understood that the output frequency is inversely proportional to the control word F=I+r when base time unit Δ is fixed. Further evidence is provided in FIG. 13. In FIG. 13, a Time-Average-Frequency direct period synthesizer's frequency transfer function is plotted using data collected from a HP 53131A frequency counter of 12-digits resolution. In this case, K=8, N=12 and fr=125 MHz. This results in Δ=1/(K·N·fr)=83.333 ps. In plot 1310, the frequency control word F varies from 6 to 16. The dots are measured frequency using the frequency counter. The curve is obtained by using equation (3). The measured data agrees with calculated very well. As shown, frequency is changed with control word in 1/x fashion. This is because that period has a linear relationship with control word. Plot 1320 shows a series of measurement points around the area of F=8. The dots are the measured data obtained from using the frequency counter. The curve is calculated from equation (3). It is confirmed that, in small area, the frequency transfer function is almost linear.
As explained previously, Time-Average-Frequency direct period synthesizer can use two types of pulses in an interleaved fashion to achieve the desired frequency. The experimental evidence is provided by FIG. 14 where this behavior can be observed directly. In this case, Δ=62.5 ps and F=8+2−15 (I=8, r=1/215, p=1, q=215). Therefore, TA=8Δ=500 ps and TB=9Δ=562.5 ps. For every q (=215=32768) cycles, there are one TB cycle and 32767 TA cycles. The plot 1410 shows the measured period-vs.-cycle distribution for about 40K cycles (about 20 us). The y-axis is the measured period. The x-axis is the clock cycle. The plot 1420 adds the measurement data with cursors assigned to the two TB cycles for visualization. As seen, between the two TB cycles, the measured number of cycles is 32.77 K which agrees with the predication of 32768. Plot 1430 shows the corresponding statistics of this measurement.
This “Discussion of the Background” section is provided for background information only. The statements in this “Discussion of the Background” are not an admission that the subject matter disclosed in this “Discussion of the Background” section constitutes prior art to the present disclosure, and no part of this “Discussion of the Background” section may be used as an admission that any part of this application, including this “Discussion of the Background” section, constitutes prior art to the present disclosure.